package com.hongshu.web.service.recommendation.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 特征向量，供排序阶段的模型输入使用。
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FeatureVector {

    // 用户特征
    private String userId;
    private Integer userAge;
    private String userGender;
    private int userBehaviorCount;
    private int userInterestCount;

    // 物品特征
    private String itemId;
    private double itemPopularity;
    private String itemCategory;
    private int itemTagCount;
    private double itemAuthorPopularity;
    private long itemCreateTime;

    // 上下文特征
    private int currentHour;
    private int currentDayOfWeek;
    private long currentPage;
    private long pageSize;

    // 交互特征（用户-物品）
    private int userItemInteractionCount;
    private int userItemLikeCount;
    private int userItemCommentCount;
    private int userItemShareCount;
}












